Communication management system, communication terminal, communication system, and recording medium

ABSTRACT

A communication management system manages session information regarding a contents data session being established to communicate contents data among a plurality of participating communication terminals, and receives a request for registering a group of the plurality of participating communication terminals that are currently participating in the session, from a first participating communication terminal of the plurality of participating communication terminals, during when the session is being established. In response to the request for registering, the communication management system stores first candidate information of the first participating communication terminal in a first memory, the first candidate information associating the group of the plurality of participating communication terminals with the first participating communication terminal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is based on and claims priority pursuant to 35U.S.C. §119(a) to Japanese Patent Application No. 2013-155524, filed onJul. 26, 2013, in the Japan Patent Office, the entire disclosure ofwhich is hereby incorporated by reference herein.

BACKGROUND

Technical Field

The present invention generally relates to managing informationregarding one or more candidate counterpart terminals for communication.

Description of the Related Art

With the need for reducing costs or times associated with businesstrips, more companies are moving towards communication systems to havecommunication among remotely located offices via a communication networksuch as the Internet or a leased line. For example, a videoconferencesystem may be provided, in which contents data such as image data andsound data are transmitted or received among a plurality ofvideoconference terminals. Before starting communication, a user at arequest communication terminal selects one or more counterpartcommunication terminals, for example, using a list of candidatecounterpart communication terminals that is previously prepared. It hasbeen, however, cumbersome to register one candidate counterpartcommunication terminal at a time.

SUMMARY

Example embodiments of the present invention include a communicationmanagement system, which manages session information regarding acontents data session being established to communicate contents dataamong a plurality of participating communication terminals, and receivesa request for registering a group of the plurality of participatingcommunication terminals that are currently participating in the session,from a first participating communication terminal of the plurality ofparticipating communication terminals, during when the session is beingestablished. In response to the request for registering, thecommunication management system stores first candidate information ofthe first participating communication terminal in a first memory, thefirst candidate information associating the group of the plurality ofparticipating communication terminals with the first participatingcommunication terminal.

Example embodiments of the present invention include a communicationterminal, which receives a use input that requests for registering thegroup of the plurality of participating communication terminal, andsends the request for registering to the communication management systemthrough a network.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendantadvantages and features thereof can be readily obtained and understoodfrom the following detailed description with reference to theaccompanying drawings, wherein:

FIG. 1 is a schematic diagram illustrating a configuration of acommunication system according to an example embodiment of the presentinvention;

FIG. 2 is a perspective view illustrating the outer appearance of acommunication terminal of the communication system of FIG. 1;

FIG. 3 is a schematic block diagram illustrating a hardware structure ofthe communication terminal of FIG. 2;

FIG. 4 is a schematic block diagram illustrating a hardware structure ofany one of a management system, relay device, program providing system,and maintenance system, according to an example embodiment of thepresent invention;

FIG. 5 is a schematic block diagram illustrating a functional structureof the communication terminal, the management system, and the relaydevice of the communication system of FIG. 1;

FIG. 6 is an example data structure of an authentication managementtable, managed by the management system of FIG. 5;

FIG. 7 is an example data structure of a terminal management table,managed by the management system of FIG. 5;

FIG. 8 is an example data structure of a candidate list managementtable, managed by the management system of FIG. 5;

FIG. 9 is an example data structure of a session management table,managed by the management system of FIG. 5;

FIG. 10 is an example data structure of a group data management table,managed by the management system of FIG. 5;

FIG. 11 is an illustration for explaining operation of transmitting orreceiving various data, performed by the communication system of FIG. 1;

FIG. 12 is a data sequence diagram illustrating operation of preparingfor communication, performed by the communication system of FIG. 1,according to an example embodiment of the present invention;

FIG. 13 is an example screen of a candidate list table;

FIG. 14 is an example screen of a group member list;

FIG. 15 is a data sequence diagram illustrating operation ofestablishing communication between or among a plurality of communicationterminals, according to an example embodiment of the present invention;

FIG. 16 is a data sequence diagram illustrating operation of processinga request for registering group information, performed by thecommunication system of FIG. 1, according to an example embodiment ofthe present invention;

FIG. 17 is an illustration of an example screen to be displayed at acommunication terminal, while communicating with another communicationterminal;

FIG. 18 is a flowchart illustrating operation of determining the itemsto confirm with a communication terminal that requests for registrationof group, performed by the communication management system of FIG. 1,according to an example embodiment of the present invention;

FIG. 19 is an illustration of an example screen that confirms whether toregister group information for registered communication terminals;

FIG. 20 is an illustration of an example screen that confirms whether toregister group information for registered and unregistered communicationterminals;

FIG. 21 is a flowchart illustrating operation of registering groupinformation, performed by the communication management system of FIG. 1,according to an example embodiment of the present invention;

FIG. 22 is an example data structure of group data management table; and

FIG. 23 is an example data structure of group data management table.

The accompanying drawings are intended to depict example embodiments ofthe present invention and should not be interpreted to limit the scopethereof. The accompanying drawings are not to be considered as drawn toscale unless explicitly noted.

DETAILED DESCRIPTION

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the presentinvention. As used herein, the singular forms “a”, “an” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“includes” and/or “including”, when used in this specification, specifythe presence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

In describing example embodiments shown in the drawings, specificterminology is employed for the sake of clarity. However, the presentdisclosure is not intended to be limited to the specific terminology soselected and it is to be understood that each specific element includesall technical equivalents that operate in a similar manner.

In the following description, illustrative embodiments will be describedwith reference to acts and symbolic representations of operations (e.g.,in the form of flowcharts) that may be implemented as program modules orfunctional processes including routines, programs, objects, components,data structures, etc., that perform particular tasks or implementparticular abstract data types and may be implemented using existinghardware at existing network elements or control nodes. Such existinghardware may include one or more Central Processing Units (CPUs),digital signal processors (DSPs),application-specific-integrated-circuits, field programmable gate arrays(FPGAs) computers or the like. These terms in general may be referred toas processors.

Unless specifically stated otherwise, or as is apparent from thediscussion, terms such as “processing” or “computing” or “calculating”or “determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical, electronicquantities within the computer system's registers and memories intoother data similarly represented as physical quantities within thecomputer system memories or registers or other such information storage,transmission or display devices.

FIG. 1 illustrates a configuration of the communication system 1. In thefollowing examples, it is assumed that the communication system 1 ofFIG. 1 is implemented as a communication system, which allowstransmission of data or any information that reflects the feelings of auser, between or among a plurality of communication terminals 10 via acommunication management system 50. Examples of the communication systeminclude, but not limited to, a video communication system such as avideoconference system or a teleconference system.

In particular, in the following examples, it is assumed that thecommunication system 1 of FIG. 1 is implemented as the videoconferencesystem, which is one example structure of the communication system.Based on this assumption, the communication management system 50 isimplemented as the videoconference communication management system,which is one example structure of the communication management system.Further, the communication terminal 10 is implemented as thevideoconference communication terminal, which is one example structureof the communication terminal. However, the use of communication system1 is not limited to the following examples such that the communicationsystem 1 may be implemented as any desired system other than thecommunication system described below.

The communication system 1 of FIG. 1 includes a plurality ofcommunication terminals 10 aa, 10 ab, 10 ac, 10 ba, 10 bb, 10 bc, 10 ca,10 cb, 10 cc, 10 da, 10 db, and 10 dc, a plurality of displays 120 aa,120 ab, 120 ac, 120 ba, 120 bb, 120 bc, 120 ca, 120 cb, 120 cc, 120 da,120 db, and 120 dc, a plurality of relay devices 30 a, 30 b, 30 c, and30 d, the communication management system 50, a program providing system90, and a maintenance system 100.

The communication terminal 10 transmits or receives contents data, suchas image data and/or sound data, to or from another communicationterminal 10. In this example, a moving image, a still image, or both ofthe still image and the moving image, may be transmitted as the imagedata. In the following examples, it is assumed that the moving image istransmitted.

For the descriptive purposes, in this example, any number of theplurality of communication terminals 10 aa to 10 dc may be collectivelyor each referred to as the terminal 10. Any number of the plurality ofdisplays 120 aa to 120 dc may be collectively or each referred to as thedisplay 120. Any one of the plurality of relay devices 30 a, 30 b, 30 c,and 30 d may be collectively or each referred to as the relay device 30.The communication management system 50 may be referred to as the“management system” 50.

The relay device 30 relays contents data, such as image data and/orsound data, between or among the plurality of terminals 10. Themanagement system 50, which may be implemented by one or more computersto cooperatively function as a computer system, centrally managesvarious information such as login information of the terminal 10, thecommunication state of the terminal 10, candidate list information, andthe communication state of the relay device 30.

The communication system 1 further includes a plurality of routers 70 a,70 b, 70 c, 70 d, 70 ab, and 70 cd, which may be collectively or eachreferred to as the router 70. The router 70 selects a route that is mostsuitable for transmitting contents data such as image data and sounddata.

The program providing system 90 includes a hard disk device (HD) 204(FIG. 4), which stores a terminal control program that causes theterminal 10 to perform various functions or operations. For example, theprogram providing system 90 sends the terminal control program to theterminal 10 through the Internet 2 i to cause the terminal 10 to installthe terminal control program. Further, the HD 204 of the programproviding system 90 may store a relay control program that causes therelay device 30 to perform various functions or operations. For example,the program providing system 90 sends the relay control program to therelay device 30 through the Internet 2 i to cause the relay device 30 toinstall the relay control program. Further, the HD 204 of the programproviding system 90 may store a communication management program thatcauses the management system 50 to perform various functions oroperations. For example, the program providing system 90 sends thecommunication management program to the management system 50 to causethe management system 50 to install the communication managementprogram.

The maintenance system 100 is a computer system, which may beimplemented by one or more computers, to maintain, manage, fix, orupgrade at least one of the terminal 10, relay device 30, managementsystem 50, and program providing system 90. Assuming that themaintenance system 100 is provided within a country, and the terminal10, relay device 30, management system 50, and program providing system90 are each installed outside the country, the maintenance system 100maintains, manages, fixes, or upgrades at least one of the terminal 10,relay device 30, management system 50, and program providing system 90,remotely through the communications network 2. The maintenance system100 may manage maintenance of at least one of the terminal 10, relaydevice 30, management system 50, and program providing system 90 withoutusing the communications network 2. For example, a machine type number,a manufacturing number, customer information, maintenance and repairinformation, and failure log information may be maintained at themaintenance system 100 without using the communications network 2.

Still referring to FIG. 1, the terminals 10 aa, 10 ab, and 10 ac, therelay device 30 a, and the router 70 a are connected to a local areanetwork (LAN) 2 a. The terminals 10 ba, 10 bb, and 10 bc, the relaydevice 30 b, and the router 70 b are connected to a LAN 2 b. The LAN 2 aand the LAN 2 b are connected to a leased line 2 ab in which the router70 ab is provided. It is assumed that the LAN 2 a, LAN 2 b, and theleased line 2 ab, are within a private network X. For example, assumingthat the private network X is managed by Company X, the LAN 2 acorresponds to a network managed by a branch office “a”, and the LAN 2 bcorresponds to a network managed by a branch office “b”.

The terminals 10 ca, 10 cb, and 10 cc, the relay device 30 c, and therouter 70 c are connected to a LAN 2 c. The terminals 10 da, 10 db, and10 dc, the relay device 30 d, and the router 70 d are connected to a LAN2 d. The LAN 2 c and the LAN 2 d are connected to a leased line 2 cd inwhich the router 70 cd is provided. It is assumed that the LAN 2 c, LAN2 d, and leased line 2 cd, are within a private network Y other than theprivate network X. For example, assuming that the private network Y ismanaged by Company Y, the LAN 2 c corresponds to a network managed by abranch office “c”, and the LAN 2 d corresponds to a network managed by abranch office “d”. The network X and the network Y are connected throughthe Internet 2 i, via the routers 70 ab and 70 cd.

The management system 50 and the program providing system 90 areconnected through the Internet 2 i to the terminal 10 and the relaydevice 30. The management system 50 is made communicable with theterminal 10 and the relay device 30 through the communications network2. Any one of the management system 50 and the program providing system90 may be located at any network location within or outside any one ofthe network X and the network Y.

In this example, the communications network 2 includes the LAN 2 a, LAN2 b, leased line 2 ab, Internet 2 i, leased line 2 cd, LAN 2 c, and LAN2 d. Any one or any portion of these lines or any other lines that maybe included in the communications network 2 may be implemented as wirednetwork or wireless network such as Wireless Fidelity (WiFi) network orBluetooth network.

As illustrated in FIG. 1, the terminal 10, the relay device 30, themanagement system 50, the router 70, the program providing system 90,and the maintenance system 100 are each provided with four digitnumbers. These four digit numbers separated by dots are the simpleexpressions of IP addresses respectively assigned to any one of thedevices shown in FIG. 1, each of which has a function of communicationdevice. For example, the IP address of the terminal 10 aa is “1.2.1.3”.For simplicity, it is assumed that the IP address is expressed in IPv4.Alternatively, the IP address may be expressed in IPv6.

Further, in this example, the terminal 10 may be communicated in variousways, other than the example case in which the terminals 10 at differentcompanies or different branch offices communicate with one another. Forexample, at least two different terminals 10 that are located atdifferent rooms in the same office, or at least two different terminals10 that are located at different offices that are remotely located fromone another, may communicate with one another. In another example, atleast two different terminals 10 that are located in the same room maycommunicate with one another. In another example, one terminal 10 thatis located indoor and another terminal 10 that is located outdoor, or atleast two different terminals 10 that are both located outdoor, maycommunicate with one another. When the terminal 10 is located outdoor,the terminal 10 communicates with the other terminal 10 through awireless network such as a wireless network designed for a mobile phone.

<Hardware Structure of Communication System>

Referring now to FIGS. 2 and 3, a hardware structure of the terminal 10is explained according to an example embodiment of the presentinvention.

FIG. 2 is a perspective view illustrating the outer appearance of thecommunication terminal 10 of the communication system 1 of FIG. 1. InFIG. 2, the longitudinal direction of the terminal 10 is referred to asX direction. The direction orthogonal to the X direction, which is thehorizontal direction of the terminal 10, is referred to as the Ydirection. The direction orthogonal to the X direction and the Ydirection is referred to as the Z direction.

As illustrated in FIG. 2, the terminal 10 includes a body 1100, an arm1200, and a camera housing 1300. The body 1100 includes a front sidewall 1110 having a plurality of air intake holes that are formed overthe nearly entire surface of the intake surface of the front side wall1110. The body 1100 further includes a back side wall 1120 provided withan exhaust surface 1121 having a plurality of exhaust holes over thenearly entire surface of the exhaust surface 1121. When a cooling fanthat is provided within the body 1100 is driven, air flows in throughthe intake holes of the intake surface and out through the exhaust holesof the exhaust surface 1121. The body 1100 further includes a right sidewall 1130 formed with a sound pickup hole 1131. Through the sound pickuphole 1131, a microphone 114 (FIG. 3) of the terminal 10 is able to catchsounds such as human voice or any sound including noise.

The body 1100 has an operation panel 1150, which is provided at a frontsurface toward the right side wall 1130. The operation panel 1150includes a plurality of operation keys 108 a to 108 e (“the operationkey 108”), a power switch 109, an alarm lamp 119, and a plurality ofsound output holes 1151. Through the sound output holes 1151, a speaker115 (FIG. 3) of the terminal 10 is able to output sounds such as soundsgenerated based on human voice. The body 1100 further includes a holder1160, which is provided at the front surface toward the left side wall1140. The holder 1160, which has a concave shape, accommodates thereinthe arm 1200 and the camera housing 1300. The right side wall 1130 isfurther provided with a plurality of connection ports 1132 a to 1132 c(“connection ports 1132”). The connection ports 1132 allow electricalconnection to an external device through an outside device connectionI/F 118 (FIG. 3). The body 1100 further includes a left side wall 1140,which is provided with a connection port to connect the external display120 to the display I/F 117 through a cable 120 c.

The arm 1200 is attached to the body 1100 via a torque hinge 1210. Withthe torque hinge 1210, the arm 1200 can be rotated in directions of upand down with respect to the body, while making a tilt angle θ1 of up to135 degrees. FIG. 2 illustrates the case where the tilt angle θ1 is 90degrees.

The camera housing 1300 incorporates therein the camera 112 (FIG. 3)that takes an image of an object. The object may be a part of a user,document, or a room where the terminal 10 is located. The camera housing1300 is provided with a torque hinge 1310. The camera housing 1300 isattached to the arm 1200 through the torque hinge 1310. With the torquehinge 1310, the camera housing 1300 can be rotated with respect to thearm 1200, in the direction of up, down, right, and left, such that thecamera housing 1300 is kept at a desired position. More specifically,the camera housing 1300 can be rotated, while making a pan angle θ2 fromabout −180 degrees to 180 degrees in the direction right and left, and atilt angle θ3 that ranges from about −45 degrees to +45 degrees in thedirection of up and down. In FIG. 2, the pan angle θ2 and the tilt angleθ3 are each 0 degree.

The relay device 30, the management system 50, the program providingsystem 90, and the maintenance system 100 are each implemented by anydesired number of general-purpose computers such as a personal computeror a server computer. For simplicity, explanation of the outerappearance of the computer is omitted.

FIG. 3 is a schematic block diagram illustrating a hardware structure ofthe communication terminal 10. As illustrated in FIG. 3, the terminal 10includes a central processing unit (CPU) 101, a read only memory (ROM)102, a random access memory (RAM) 103, a flash memory 104, a solid statedrive (SSD) 105, a medium drive 107, the operation key 108, the powerswitch 109, a network interface (I/F) 111, the camera 112, an imagingelement interface (I/F) 113, the microphone 114, the speaker 115, asound input/output interface (I/O I/F) 116, the display interface (I/F)117, and the outside device connection interface (I/F) 118, which areelectrically connected through a bus 110 such as an address bus or databus. The CPU 101 controls entire operation of the terminal 10. The ROM102 stores therein a control program for execution by the CPU 101, suchas an initial program loader (IPL). The RAM 103 functions as a work areafor the CPU 101. The flash memory 104 stores therein various data suchas the terminal control program, image data, or sound data such as voicedata. The SSD 105 controls reading or writing of various data withrespect to the flash memory 104 under control of the CPU 101. The mediumdrive 107 controls reading or writing of various data with respect to aremovable recording medium 106 such as a flash memory. The operation key108 allows the user to input a user instruction, for example, byallowing the user to select a communication destination such as thecounterpart terminal 10. The power switch 109 allows the user to switchon or off the power of the terminal 10. The network I/F 111 allows theterminal 10 to transmit data through the communications network 2.

The camera 112 takes an image of an object to obtain image data undercontrol of the CPU 101. The imaging element I/F 113 controls operationof the camera 112. The microphone 114 catches sounds such as voice ofthe user at the terminal 10. The speaker 115 outputs sounds such assounds generated based on voice of the user at the counterpart terminal10. The sound I/O I/F 116 controls input or output of sound signals suchas voice signals with respect to the microphone 114 and the speaker 115under control of the CPU 101. The display I/F 117 transmits image datato the display 120 under control of the CPU 101. The outside deviceconnection I/F 118 controls connection of the terminal 10 to varioustypes of outside device.

The display 120 may be implemented by a liquid crystal display (LCD) oran organic light emitting display, which displays various data such asan image of an object or an operation icon. As illustrated in FIGS. 2and 3, the display 120 is connected to the display I/F 117 through thecable 120 c. The cable 120 c may be implemented by an analog RCB (VGA)signal cable, a component video cable, a high-definition multimediainterface (HDMI) signal cable, or a digital video interactive (DVI)signal cable.

The camera 112 includes a plurality of devices such as a lens system,and a solid-state image sensing device that photo-electrically convertsa light to generate an image of an object. For example, the solid-stateimage sensing device includes a complementary metal oxide semiconductor(CMOS) or a charge coupled device (CCD).

The outside device connection I/F 118 may be connected to an outsidedevice such as an external camera, external microphone, or externalspeaker through a universal serial bus (USB) cable that is connectedthrough the port 1132 of the body 1100 (FIG. 2). When the externalcamera is connected to the terminal 10, the CPU 101 causes the terminal10 to capture an image using the external camera, rather than the camera112 that is incorporated in the terminal 10. When the externalmicrophone or the external speaker is connected to the terminal 10, theCPU 101 causes the terminal 10 to use the external microphone or theexternal speaker in replace of the incorporated microphone 114 or theincorporated speaker 115.

The recording medium 106, which can be freely attached to or detachedfrom the terminal 10, includes any desired type of recording medium. Inalternative to the flash memory 104, any nonvolatile memory that isreadable and writable under control of the CPU 101 may be used such asElectrically Erasable and Programmable ROM (EEPROM).

The terminal control program may be written onto a recording medium thatis readable by a general-purpose computer such as the recording medium106 in any format that is installable or executable by a general-purposecomputer. Once the terminal control program is written onto therecording medium, the recording medium may be distributed. Further, theterminal control program may be stored in any desired memory other thanthe flash memory 104, such as the ROM 102.

FIG. 4 illustrates a hardware structure of the management system 50 ofFIG. 1. The management system 50 includes a CPU 201, a ROM 202, a RAM203, the HD 204, a hard disk drive (HDD) 205, a medium drive 207, adisplay 208, a network interface (I/F) 209, a keyboard 211, a mouse 212,and a CD-ROM drive 214, which are electrically connected through a bus210 such as an address bus or a data bus.

The CPU 201 controls entire operation of the management system 50. TheROM 202 stores a control program for execution by the CPU 201, such asan IPL. The RAM 203 functions as a work area for the CPU 201. The HD 204stores therein various data such as the communication managementprogram. The HDD 205 controls reading or writing of various data withrespect to the HD 204 under control of the CPU 201. The medium drive 207controls reading or writing of various data with respect to a removablerecording medium 206 such as a flash memory. The display 208 displaysvarious data such as a cursor, menu, window, character, or image. Thenetwork I/F 209 allows the management system 50 to transmit data throughthe communications network 2. The keyboard 211 includes a plurality ofkeys, each of which is used for inputting a user instruction through acharacter, a numeral, or a symbol. The mouse 212 allows the user toinput a user instruction including, for example, selection or executionof a specific instruction, selection of an area to be processed, andinstruction of cursor movement. The CD-ROM drive 214 controls reading orwriting of various data with respect to a CD-ROM 213. In alternative tothe CD-ROM 213, any removable recording medium may be used.

The communication management program may be written onto a recordingmedium that is readable by a general-purpose computer such as therecording medium 206 or the CD-ROM 213 in any format that is installableor executable by a general-purpose computer. Once the communicationmanagement program is written onto the recording medium, the recordingmedium may be distributed. Further, the communication management programmay be stored in any desired memory other than the HD 204, such as theROM 202.

The relay device 30 is substantially similar in hardware structure tothe management system 50 of FIG. 4, except for replacement of themanagement program with a relay device control program that is used forcontrolling the relay device 30. The relay device control program may bewritten onto a recording medium that is readable by a general-purposecomputer such as the recording medium 206 or the CD-ROM 213 in anyformat that is installable or executable by the general-purposecomputer. Once the relay device control program is written onto therecording medium, the recording medium may be distributed. Further, therelay device control program may be stored in any desired memory otherthan the HD 204, such as the ROM 202.

The program providing system 90 is substantially similar in hardwarestructure to the management system 50 of FIG. 4, except for replacementof the management program with a program providing program that is usedfor controlling the program providing system 90. The program providingprogram may be written onto a recording medium that is readable by ageneral-purpose computer such as the recording medium 206 or the CD-ROM213 in any format that is installable or executable by thegeneral-purpose computer. Once the program providing program is writtenonto the recording medium, the recording medium may be distributed.Further, the program providing program may be stored in any desiredmemory other than the HD 204, such as the ROM 202.

The maintenance system 100 is substantially similar in hardwarestructure to the management system 50 of FIG. 4, except for replacementof the management program with a maintenance program that is used forcontrolling the maintenance system 100. The maintenance program may bewritten onto a recording medium that is readable by a general-purposecomputer such as the recording medium 206 or the CD-ROM 213 in anyformat that is installable or executable by the general-purposecomputer. Once the maintenance program is written onto the recordingmedium, the recording medium may be distributed. Further, themaintenance program may be stored in any desired memory other than theHD 204, such as the ROM 202.

Other examples of removable recording medium, which may be used inreplace of the CD-ROM 213, include, but not limited to, compact discrecordable (CD-R), digital versatile disk (DVD), and blue ray disc.

<Functional Structure of Communication System>

Next, a functional structure of the communication system 1 of FIG. 1 isexplained according to an example embodiment of the present invention.FIG. 5 is a schematic block diagram illustrating a functional structureof the communication system 1 including the terminal 10, relay device30, and management system 50. As illustrated in FIG. 5, the terminal 10,the relay device 30, and the management system 50 exchange data with oneanother through the communications network 2. In FIG. 5, the programproviding system 90 and the maintenance system 100 of FIG. 1 areomitted.

<Functional Structure of Terminal>

The communication terminal 10 includes a data transmitter/receiver 11,an operation input 12, a login request 13, an imaging device 14, a soundinput 15 a, a sound output 15 b, a display control 16, and a memorycontrol 19. In this example, the operations or functions that areperformed by the terminal 10, which include the operations or functionsperformed by the functional elements shown in FIG. 5, are performed incooperation with one or more hardware devices of the terminal 10 thatare shown in FIG. 3. More specifically, these elements shown in FIG. 5correspond to a plurality of functions or functional modules, which areexecuted according to an instruction of the CPU 101 (FIG. 3) that isgenerated according to the program being loaded from the flash memory104 onto the RAM 103. The terminal 10 further includes a memory 1000,which may be implemented by the RAM 103 or the flash memory 104 of FIG.3.

The data transmitter/receiver 11 of the terminal 10, which may beimplemented by the network I/F 111 (FIG. 3) under control of the CPU101, transmits or receives various data or information to or fromanother terminal, device, or system, through the communications network2.

The operation input 12 receives a user instruction input by the userthrough the operation key 108 or the power switch 109 (FIG. 3), undercontrol of the instructions received from the CPU 101. For example, asthe user turns on the power switch 109, the operation input 12 turns onthe power of the terminal 10.

The operations or functions of the login request 13 are performedaccording to an instruction received from the CPU 101 (FIG. 3). When thepower of the terminal 10 is turned on, the login request 13automatically causes the data transmitter/receiver 11 to send loginrequest information that requests the login process, and a current IPaddress of the terminal 10, to the management system 50 through thecommunications network 2. When the power of the terminal 10 is turnedoff according to a user instruction received from the user through thepower switch 109, the login request 13 causes the datatransmitter/receiver 11 to send current operation state information ofthe terminal 10 to the management system 50, which indicates that thepower of the terminal 10 is turned off. After the operation stateinformation is sent, the operation input 12 turns off the power of theterminal 10. As the operation state information of the terminal 10 issent every time the power is turned off, the management system 50 isable to know that the terminal 10 is offline in realtime.

The operations or functions of the imaging device 14 of the terminal 10are performed by the camera 112 and the imaging element I/F 113according to an instruction received from the CPU 101 (FIG. 3). Theimaging device 14 takes an image of an object to output image data ofthe object.

The operations or functions of the sound input 15 a of the terminal 10are performed by the sound I/O I/F 116 according to an instructionreceived from the CPU 101, in cooperation with the microphone 114. Afterthe microphone 114 converts sounds of the user at the terminal 10 to asound signal, the sound input 15 a inputs the sound signal in the formof sound data for further processing. The operations or functions of thesound output 15 b of the terminal 10 are performed by the sound I/O I/F116 according to an instruction received from the CPU 101, incooperation with the speaker 115. The sound output 15 b outputs a soundsignal of sound data that is received from the counterpart terminal 10through the speaker 115.

The operations or functions of the display control 16 of the terminal 10of FIG. 5 are performed by the display I/F 117 according to aninstruction received from the CPU 101 (FIG. 3). The display control 16controls transmit of image data to the display 120.

The memory control 19 is implemented by the SSD 105 of FIG. 3 accordingto an instruction received from the CPU 101. The memory control 19stores various data in the memory 1000, or reads out various data fromthe memory 1000. The memory 1000 stores therein various data such asterminal identification (ID) information for identifying the terminal10, and a password for authenticating a user at the terminal 10. Thememory 1000 further stores therein image data and/or sound data that isreceived as the terminal 10 communicates with a counterpart terminal 10such that the image data and/or sound data are overwritten. Before theimage data is overwritten, an image generated based on the image data isdisplayed onto the display 120. Before the sound data is output, soundsgenerated based on the sound data is output through the speaker 115.

In this example, any one of the terminal ID of the terminal 10 and therelay device ID of the relay device 30 includes any type ofidentification information that can be expressed by any language,character, symbol, mark, or any combination of language, character,symbol, and mark.

<Functional Structure of Relay Device>

The relay device 30 includes a data transmitter/receiver 31, a relayunit 32, and a memory control 39. Upon execution, the CPU 201 (FIG. 4)loads the relay device control program from the HD 204 onto the RAM 203to cause one or more of the units illustrated in FIG. 5 to performfunctions or operations shown in FIG. 5. The relay device 30 furtherincludes a memory 3000 that may be implemented by the HD 204 or RAM 203(FIG. 4).

More specifically, in this example, the operations or functions that areperformed by the relay device 30, which include the operations orfunctions performed by the units shown in FIG. 5, are performed inrelation to one or more hardware devices of the relay device 30 that areshown in FIG. 4.

The data transmitter/receiver 31 of FIG. 5 is implemented by the networkI/F 209 of FIG. 4 according to an instruction received from the CPU 201.The data transmitter/receiver 31 transmits or receives various data orinformation to or from another terminal, device, or system through thecommunication network 2.

The relay unit 32, which may be implemented by the instructions from theCPU 201, relays contents data to be transmitted or received between oramong the terminals 10, through the data transmitter/receiver 31.

The memory control 39, which may be implemented by the instructions fromthe CPU 201 (FIG. 4) in cooperation with the HDD 205, stores or readsvarious data with respect to the memory 3000.

<Functional Structure of Management System>

The management system 50 includes a data transmitter/receiver 51, anauthenticator 52, a terminal manager 53, an extractor 54, a destinationdeterminer 55, a session manager 56, a candidate list manager 57, agroup data manager 60, and a memory control 59. These units shown inFIG. 5 correspond to a plurality of functions or functional modules,which are executed according to an instruction of the CPU 201 (FIG. 4)that is generated according to the communication management programbeing loaded from the HD 204 onto the RAM 203. The management system 50further includes a memory 5000, which may be implemented by the HD 204(FIG. 4). The memory 500 stores various data or information.

(Authentication Management Table)

The memory 5000 includes an authentication management database (DB)5001, which stores therein an authentication management table of FIG. 6.The authentication management table of FIG. 6 stores, for each one ofthe terminals 10 that are managed by the management system 50, theterminal ID and the password in association with each other. Forexample, referring to FIG. 6, the terminal 10 aa has the terminal ID“01aa” and the password “aaaa”.

(Terminal Management Table)

The memory 5000 further includes a terminal management DB 5002, whichstores therein a terminal management table of FIG. 7. The terminalmanagement table of FIG. 7 stores, for each one of the terminal IDsassigned to the terminals 10, the terminal name of the terminal 10, theoperation state of the terminal 10, and the IP address of the terminal10, in association with one another. For example, for the terminal 10 aahaving the terminal ID “01aa”, the terminal management table of FIG. 7indicates that the terminal name is “Company X, Branch a, Group a”, theoperation state is online (“ONLINE”), and the IP address of the terminal10 aa is “1.2.1.3”.

(Candidate List Management Table)

The memory 5000 further includes a candidate list management DB 5003,which stores therein a candidate list management table of FIG. 8. Thecandidate list management table of FIG. 8 stores, for each one of aplurality of request terminals 10 capable of requesting forvideoconference communication, the terminal ID of the request terminal10, and one or more terminal IDs that are respectively assigned tocandidate counterpart terminals 10 that are previously registered forthe request terminal 10. In this example, for the request terminal 10,one or more terminals 10 of the communication system 1 of FIG. 1 arepreviously registered as the candidate counterpart terminal 10. Forexample, the candidate list management table of FIG. 8 indicates thatthe request terminal 10 aa having the terminal ID “01aa” can request forvideoconference with respect to the terminal 10 ab having the terminalID “01ab”, the terminal 10 ac having the terminal ID “01ac”, and theterminal 10 db having the terminal ID “01 db”, etc. The managementsystem 50 manages the candidate list management table of FIG. 8, forexample, according to a user instruction received from any one of theterminals 10. For example, in response to a user instruction receivedfrom the terminal 10 aa, the management system 50 may add or delete thecontents of the candidate list management table of FIG. 8.

(Session Management Table)

The memory 5000 further includes a session management DB 5005, whichstores therein a session management table of FIG. 9. The sessionmanagement table of FIG. 9 includes, for each session ID that identifiesa contents data session “sed” for transmitting or receiving contentsdata between a plurality of terminals 10, a relay device ID of the relaydevice to be used for transmitting or receiving contents data, and aterminal ID of each one of the plurality of terminals 10 participatingin the contents data session “sed”. For example, the session managementtable of FIG. 9 indicates that, for the contents data session “sed”having the session ID “se03”, the relay device 30 c having the relaydevice ID “111c” relays contents data between the terminal 10 ae withthe terminal ID “01ae” and the terminal 10 dc with the terminal ID“01dc”.

(Group Data Management Table)

The memory 5000 further includes a group data management DB 5101, whichstores therein a group data management table of FIG. 10. The group datamanagement table of FIG. 10 stores, for each group, various groupinformation such as a group ID, a member terminal ID, and a userterminal ID, in association with one another. The group ID is anyidentification information that identifies a specific group. The memberterminal ID is a terminal ID that identifies each one of the terminals10 (“member terminal”) belonging to the specific group. The memberterminal ID is classified into a registered member terminal ID of aregistered member terminal, and a tentatively registered member terminalID of a tentatively registered member terminal. The registered terminalis a terminal 10 that is confirmed as a member terminal of a specificgroup, based on determination that the terminal is registered as acandidate counterpart terminal for the user terminal 10. The tentativelyregistered member terminal is a terminal 10 that is not confirmed as amember terminal of a specific group based on determination that theterminal is not registered as a candidate counterpart terminal for theuser terminal 10, but tentatively registered to the group datamanagement table as a candidate counterpart terminal for the userterminal 10. The user terminal ID is a terminal ID that identifies theterminal 10, which is capable of using the group information such as agroup member list that lists a group of member terminals. For example,the group data management table of FIG. 10 indicates that, for the groupidentified by the group ID “0002”, the member terminals include theterminal 10 ac having the terminal ID “01ac” and the terminal 10 aehaving the terminal ID “01ae”, and that the terminal 10 ae is capable ofusing the group member list.

(Functional Structure of Management System)

Referring back to FIG. 5, the data transmitter/receiver 51, which may beimplemented by the network I/F 209 (FIG. 4) according to an instructionreceived from the CPU 201, transmits or receives various data orinformation to or from another terminal, device, or system through thecommunications network 2.

The authenticator 52, which may be implemented by the instructions fromthe CPU 201 (FIG. 4), obtains a terminal ID and a password from thelogin request information that is received from the datatransmitter/receiver 51. Using the terminal ID and the password as asearch key, the terminal authenticator 52 searches the authenticationmanagement DB 5001 (FIG. 6) to determine whether the obtained set ofterminal ID and password is registered. Based on the search result, theterminal authenticator 52 determines whether the user at the terminal 10or the terminal 10 is allowed for access.

The terminal manager 53, which may be implemented by the instructionsfrom the CPU 201 (FIG. 4), manages the operation state of the requestterminal 10 that sends the login request information using the terminalmanagement DB 5002 (FIG. 7). More specifically, the terminal manager 53stores the terminal ID of the request terminal 10, the operation stateof the request terminal 10, and the IP address of the request terminal10, in association with one another. When the power switch 109 ischanged from the “ON” state to the “OFF’ state by the user, the terminalmanager 53 receives the operation state information indicating that thepower is turned off from the terminal 10, and changes the operationstate of the terminal 10 from the “online” state to the “offline” statein the terminal management table of FIG. 7.

The extractor 54, which may be implemented by the instructions receivedfrom the CPU 201 (FIG. 4), extracts various information from the memory5000.

The destination determiner 55, which may be implemented by theinstructions from the CPU 201 (FIG. 4), determines whether the terminalID of the terminal 10 participating in the contents data session “sed”matches the terminal ID of the candidate counterpart terminal 10 thatcan be selected by the terminal 10, and determines the items to bechecked with the terminal 10 before registering the terminal 10 to aspecific group.

The session manager 56, which may be implemented by the instructionsreceived from the CPU 201 (FIG. 4), generates a session ID thatidentifies a contents data session “sed”, when the contents data session“sed” is newly established between the terminals 10. The session manager56 further manages various data in the session management table of FIG.9, for example, to store the session ID, the terminal ID, and the relaydevice, in association with one another when the session is established.

The candidate list manager 57, which may be implemented by theinstructions from the CPU 201 (FIG. 4), adds or deletes the candidatecounterpart terminal ID that is to be associated with the requestterminal ID, to or from the candidate list management DB 5003 (FIG. 8).

The group data manager 60, which may be implemented by the instructionsfrom the CPU 201, manages various information regarding one or moregroups using the group data management table (FIG. 10). Morespecifically, the group data manager 60 may add or delete, to or fromeach record, group information such as the group ID, member terminal ID,and user terminal ID.

The memory control 59, which operates according to an instructionreceived from the CPU 201 (FIG. 4) in cooperation with the HDD 205 (FIG.4), stores various data in the memory 5000 or read out various data fromthe memory 5000.

<Operation>

Referring to FIG. 11, operation of transmitting or receiving variousdata, performed by the communication system 1, is explained according toan example embodiment of the present invention.

As illustrated in FIG. 11, in the communication system 1, each one ofthe terminals 10 aa, 10 ac, and 10 ad establishes a management datasession “sei” with the management system 50, to transmit or receivevarious data. With this configuration, the management system 50centrally manages the terminals 10 and the relay device 30.

Each one of the terminals 10 aa, 10 ac, and 10 ad establishes a contentsdata session “sed” with the relay device 30, to transmit or receivecontents data such as image data and zsound data. With thisconfiguration, the terminal 10 transmits or receives contents data suchas image data and sound data to or from another terminal 10.Alternatively, only sound data may be transmitted or received ascontents data.

The group data management DB 5101 of the management system 50 storesgroup information, such as a list of member terminal IDs (group memberlist) each identifying a member terminal 10 belonging to a specificgroup. Assuming that a contents data session “sed” is established totransmit or receive data among the terminals 10, the datatransmitter/receiver 51 of the management system 50 receives a requestfrom one of the terminals 10 that are participating in the session (inthis example, the terminal 10 aa), which requests for registeringinformation regarding a group including the terminals 10 that areparticipating in the session.

In response to the request, the session manager 56 obtains the terminalID of each one of the terminals 10 that are participating in thecontents data session “sed”, from the session management DB 5005.

The group data management DB 5101 of the management system 50 stores alist of terminal IDs of the terminals 10 that are participating in thesession, which are obtained at the session manager 56. In this manner,the user at the terminal 10 aa does not have to select each one of theterminals 10, in case the user wants to start communication with theusers at the terminals 10 that have been participating in the sessioneven after ending the session.

Further, the user at the request terminal 10 aa is able to determine toregister the participating terminals 10, while having communication withthe participating terminals 10. Since the user is able to check thecontents data, such as image data and/or sound data relating to the userat the participating terminal, the user at the request terminal 10 aa isable to instantly know the participating terminals to be registered.This suppresses the occurrence of an error in registering a terminalthat is not intended by the user, due to the error in selecting aterminal by the user.

The candidate list management DB 5003 of the management system 50 storescandidate information, such as a list of candidate counterpart terminalIDs of candidate counterpart terminals each of which may be selected bythe request terminal 10 (in this example, the terminal 10 aa).

The group data management DB 5101 stores a group member list, whichincludes one or more participating terminals 10 that are participatingin the session, but excluding the terminals 10 that are not registeredas a candidate counterpart terminal for the request terminal 10 aa.Since the unregistered participating terminal 10, which cannot beselected by the request terminal 10 aa for communication, is notregistered, the user at the request terminal 10 aa is able to easilyselect one of the candidate counterpart terminals using the group memberlist, without any consideration of whether the terminal in the groupmember list can be selected by the request terminal 10 aa.

In one example, the data transmitter/receiver 51 of the managementsystem 50 receives approval information indicating approval to registerthe unregistered participating terminal 10 as a candidate counterpartterminal for the request terminal 10 aa, from the unregisteredparticipating terminal 10. Based on the approval information, thecandidate list management DB 5003 stores the terminal ID of theunregistered participating terminal 10, in association with the requestterminal ID of the request terminal 10 aa. Based on registration of theunregistered participating terminal 10, the group data management DB5101 updates group information, so as to additionally register theparticipating terminal that is newly registered, as a member terminal inthe group. The user at the request terminal 10 aa is able to select theterminal 10, which is newly registered as a candidate counterpartterminal for the request terminal 10 aa, using the group member list.

In one example, the group data management DB 5101 at least temporarilystores a list of terminal IDs of unregistered participating terminals,as a tentatively registered member terminal for the group. The groupdata manager 60 updates the list of terminal IDs of tentativelyregistered member terminals, which is managed using the group datamanagement DB 5101. For example, the data transmitter/receiver 51 of themanagement system 50 receives information indicating not to approveregistration of the unregistered participating terminal as a candidatecounterpart terminal for the request terminal 10 aa. Based on theinformation indicating not to approve, the group data manager 60 deletesthe terminal ID of the unregistered member terminal 10, from the list ofthe tentatively registered member terminals in the group data managementDB 5101. As the tentatively registered member terminal is deleted, thegroup information stored in the group data management DB 5101 can beconfirmed.

In one example, when a predetermined time elapses after registering thegroup information, such as after when information regarding thetentatively registered member terminal is stored, the group data manager60 deletes the information regarding the tentatively registered memberterminal. As the tentatively registered member terminal is deleted, thegroup information stored in the group data management DB 5101 can beconfirmed.

In one example, the operation input 12 of the request terminal 10 aareceives a request for registering the participating terminal 10 that isparticipating in the contents data session “sed”, as a member terminalof a specific group. The data transmitter/receiver 11 of the requestterminal 10 aa transmits a request for registering the groupinformation, to the management system 50.

In one example, the operation input 12 of the unregistered participatingterminal 10 receives a user instruction indicating whether to approve ornot to approve to register the unregistered participating terminal 10 asa candidate counterpart terminal for the request terminal 10 aa. Thedata transmitter/receiver 11 of the unregistered participating terminal10 transmits information indicating whether to approve or not approve,to the management system 50.

Referring now to FIGS. 12 to 23, operation of managing group informationsuch as a group member list is explained according to an exampleembodiment of the present invention. FIG. 12 is a data sequence diagramillustrating operation of transmitting or receiving various data inpreparation for starting communication by the terminal 10 aa, accordingto an example embodiment of the present invention. In FIG. 12, variousmanagement data is transmitted or received through the management datasession “sei” of FIG. 11.

At S21, as the user at the terminal 10 aa turns on the power switch 109(FIG. 3), the operation input 12 (FIG. 5) of the terminal 10 aa receivesan instruction for turning on the power, and turns on the power of theterminal 10 aa.

In response to turning on the power, at S22, the login request 13automatically transmits login request information, which requests forlogging in the management system 50, through the datatransmitter/receiver 11 via the communications network 2. The loginrequest information includes the terminal ID that identifies the requestterminal 10 aa, and the password associated with the terminal ID. Theterminal ID and the password may be obtained by the memory control 19from the memory 1000, and sent to the data transmitter/receiver 11. Atthe time of sending the login request information from the requestterminal 10 aa to the management system 50, the request terminal 10 aasends an IP address of the request terminal 10 aa such that themanagement system 50 knows the IP address of the request terminal 10 aa.

At S23, the authenticator 52 of the management system 50 searches theauthentication management DB 5001 (FIG. 6) stored in the memory 5000using the terminal ID and the password of the login request informationreceived through the data transmitter/receiver 51. When it is determinedthat the terminal ID and the password of the login request informationis stored in the authentication management DB 5001, the authenticator 52determines that the terminal 10 aa is authenticated.

At S24, when the authenticator 52 authenticates that the login requestinformation is received from the authenticated terminal 10, the terminalmanager 53 of the management system 50 stores the operation state andthe IP address of the terminal 10 aa, in association with the terminalID and the terminal name in the terminal management DB 5002 (FIG. 7) tocreate a record of the terminal 10 aa. The terminal management table ofFIG. 7 is able to manage the operation state “online” and the IP address“1.2.1.3” in association with the terminal ID “01aa”.

At S25, the data transmitter/receiver 51 of the management system 50sends the authentication result obtained by the authenticator 52 to therequest terminal 10 aa that has sent the login request informationthrough the communications network 2. As described above, in thisexample, it is assumed that the authenticator 52 determines that theterminal 10 aa is an authenticated terminal.

In response to receiving the authentication result indicating that theterminal 10 aa is an authenticated terminal, at S26, the datatransmitter/receiver 11 of the request terminal 10 aa sends candidatelist request information (“candidate list request”) to the managementsystem 50 through the communications network 2. The candidate listrequest information includes the terminal ID of the request terminal 10aa, and indicates to request for a candidate list. The management system50 receives the candidate list request at the data transmitter/receiver51.

At S27, the extractor 54 of the management system 50 searches thecandidate list management table of FIG. 8 using the terminal ID “01aa”of the terminal 10 aa as a search key to obtain a candidate terminal IDof each one of one or more candidate counterpart terminals 10 that canbe selected by the request terminal 10 aa. The extractor 54 furthersearches the terminal management table of FIG. 7 using the candidatecounterpart terminal ID of each one of the candidate counterpartterminals 10, to obtain the name of each one of the candidatecounterpart terminals 10.

At S28, the data transmitter/receiver 51 of the management system 50transmits candidate list information (“candidate list”), which includesthe terminal IDs and the terminal names of the candidate counterpartterminals 10, which are extracted at the extractor 54.

At S29, the extractor 54 of the management system 50 searches the groupdata management table of FIG. 10 using the terminal ID “01aa” of therequest terminal 10 aa as a search key to obtain group informationregarding one or more groups that can be used by the terminal 10 aa. Thegroup information includes, for each group, a group ID, a registeredmember terminal ID, and a tentatively registered member terminal ID. Theextractor 54 searches the terminal management table of FIG. 7 using theregistered member terminal ID and the tentatively registered memberterminal ID, as a search key, to obtain the terminal name of the memberterminal for each one of the registered and tentatively registeredmember terminals 10.

At S30, the data transmitter/receiver 51 of the management system 50transmits the group information including, for each group that can beused by the request terminal 10 aa, the group ID, the terminal ID ofeach one of the (registered and tentatively registered) member terminals10, and the name of each one of the (registered and tentativelyregistered) member terminals 10, to the request terminal 10 aa.

At S31, the extractor 54 of the management system 50 further searchesthe terminal management table of FIG. 7, stored in the terminalmanagement DB 5002, using the candidate counterpart terminal ID of eachone of the candidate counterpart terminals, which are extracted at S27,to obtain the operation state of each one of the candidate counterpartterminals 10.

At S32, the data transmitter/receiver 51 of the management system 50sends the terminal state information to the request terminal 10 aathrough the communications network 2, which includes the terminal ID andthe operation state of each one of the candidate counterpart terminals10.

At S33, the display control 16 of the request terminal 10 aa causes thedisplay 120 to display a candidate list, which reflects the terminalname and the operation state of each one of the candidate counterpartterminals 10, based on the candidate list information and the terminalstate information that are respectively received at the datatransmitter/receiver 11. FIG. 13 illustrates an example screen of acandidate list. The candidate list screen of FIG. 13 displays an iconreflecting the operation state of the candidate counterpart terminal 10,for each one of the candidate counterpart terminals 10. Morespecifically, in this example, the icon for the terminal 10 ab indicatesthat the terminal 10 ab is “online”, the icon for the terminal 10 acindicates that the terminal 10 ac is “offline”, and the icon for theterminal 10 db indicates that the terminal 10 db is communicating.

At S34, the display control 16 of the request terminal 10 aa furthercauses the display 120 to display a group member list, which reflectsthe terminal name and the operation state of each one of the (registeredand tentatively registered) member terminals 10, based on the groupinformation and the terminal state information that are respectivelyreceived at the data transmitter/receiver 11. FIG. 14 illustrates anexample screen of a group member list. The group member list of FIG. 14displays an icon reflecting the operation state of the member terminal10, for each one of the member terminals 10. More specifically, in thisexample, the icon for the terminal 10 ab indicates that the terminal 10ab is “online”, the icon for the terminal 10 ac indicates that theterminal 10 ac is “offline”, and the icon for the terminal 10 caindicates that the operation state of the terminal 10 ca is unknown.

In this example, any one of the terminal 10 ab and the terminal 10 ac isthe registered terminal, which is registered as a candidate counterpartterminal for the request terminal 10 aa for communication, such that theoperation state of the registered terminal is obtained at S31. Incontrary, the terminal 10 ca is tentatively registered to the groupmember list that can be used by the request terminal 10 aa, but notregistered as a candidate counterpart terminal 10 that can be selectedby the request terminal 10 aa for communication. Accordingly, theoperation state of the unregistered terminal is not obtained at S31.Alternatively, the operation state of the unregistered terminal may beobtained, but not caused to be displayed through the screen. By notnotifying the operation state of the tentatively registered memberterminal 10 ca, the security level improves.

Referring now to FIG. 15, operation of starting communication inresponse to the request from the request terminal 10 aa is explainedaccording to an example embodiment of the present invention.

As the user at the request terminal 10 aa selects a counterpart terminal10, from the candidate list of FIG. 13 or from the group member list ofFIG. 14, using the operation key 108, at S41, the operation input 12 ofthe terminal 10 aa receives a user instruction for selecting thecounterpart terminal 10 to start communication with the counterpartterminal 10. In this example, it is assumed that the terminal 10 ab isselected as the counterpart terminal 10.

At S42, the data transmitter/receiver 11 of the request terminal 10 aatransmits communication start request information (“communication startrequest”), which requests to start communication with the counterpartterminal 10 ab, to the management system 50. The communication startrequest includes the terminal ID “01aa” of the request terminal 10 aa,and the terminal ID “01ab” of the counterpart terminal 10. Themanagement system 50 receives the communication start request, whichrequests to start communication between the request terminal 10 aa andthe counterpart terminal 10 ab, at the data transmitter/receiver 51.

At S43, the terminal manager 53 specifies records in the terminalmanagement table of FIG. 7, using the terminal ID “01aa” of the requestterminal 10 aa and the terminal ID “01ab” of the counterpart terminal 10ab that are included in the communication start request, and changes the“operation state” data fields of the terminal 10 aa and 10 ab to“communicating”.

At S44, the session manager 56 generates a session ID “se01”, whichidentifies a contents data session “sed” to be established tocommunicate data between the request terminal 10 aa and the counterpartterminal 10 ab.

At S45, the session manager 56 selects a relay device 30, which is torelay contents data through the contents data session “sed” for therequest terminal 10 aa and the counterpart terminal 10 ab, using anydesired method. In this example, it is assumed that the relay device 30a is selected.

At S46, the session manager 56 may create a new record in the sessionmanagement table of FIG. 9, with the newly generated session ID “se01”.In association with the session ID “se01”, the session manager 56 maystore the request terminal ID “01aa” and the counterpart terminal ID“01ab”, and the selected relay device ID “111a” of the selected relaydevice 30 a, in association with one another.

At S47, the data transmitter/receiver 51 of the management system 50transmits the session ID generated at the session manager 56 and relaydevice connection information to the request terminal 10 aa, through thecommunications network 2. The relay device connection informationincludes, for example, an IP address of the relay device 30 a,authentication information, and port number, which may be used by therequest terminal 10 aa to connect with the relay device 30 a.

At S48, the data transmitter/receiver 51 of the management system 50transmits the session ID generated at the session manager 56 and relaydevice connection information to the counterpart terminal 10 ab, throughthe communications network 2. The relay device connection informationincludes, for example, an IP address of the relay device 30 a,authentication information, and port number, which may be used by thecounterpart terminal 10 ab to connect with the relay device 30 a.

With the relay device connection information, the request terminal 10 aaestablishes a contents data session “sed” having the session ID “se01”,with the relay device 30 a. The counterpart terminal 10 ab establishes acontents data session “sed” having the session ID “se01”, with the relaydevice 30 a. Accordingly, the contents data session “sed” is establishedbetween the request terminal 10 aa and the counterpart terminal 10 ab tocommunicate contents data via the relay device 30 a.

After establishing the contents data session “sed”, the request terminal10 aa or the counterpart terminal 10 ab, each participating in thesession “se01”, may request to start communication with any otherterminal 10, in a substantially similar manner as described abovereferring to FIG. 15. Alternatively, any other terminal 10 may requestthe management system 50 to start communication with any one of theterminal 10 aa and the terminal 10 ab, in a substantially similar manneras described above referring to FIG. 15. In such case, the otherterminal 10 may join in the communication being carried out by therequest terminal 10 aa and the counterpart terminal 10 ab through thecontents data session “sed” having the session ID “se01”. When the otherterminal 10 is joined, the session manager 56 of the management system50 updates the session management table of FIG. 9 to additionally addthe terminal ID of the terminal 10 that joins in the communication.

Referring to FIG. 16, operation of processing a group registrationrequest, requested by one of the terminals 10 that are participating inthe contents data session, performed by the communication system 1 ofFIG. 1, is explained according to an example embodiment of the presentinvention. In this example, it is assumed that, during when theterminals 10 aa, 10 ab, 10 ac, 10 ad, and 10 ae are participating in thecontents data session “sed”, the request terminal 10 aa requests themanagement system 50 to register information regarding the terminals 10that are currently participating in the session, as group information.

The terminal 10 aa transmits or receives contents data such as imagedata and sound data through the relay device 30 a, with the counterpartterminals 10 ab, 10 ac, 10 ad, and 10 ae. The display control 16 of theterminal 10 aa causes the display 120 to output images of users at therespective counterpart terminals 10 ab, 10 ac, 10 ad, and 10 ae, basedon the image data received from the respective counterpart terminals 10ab, 10 ac, 10 ad, and 10 ae. The display control 16 further causes thedisplay 120 to display an image of a user at the terminal 10 aa, basedon image data obtained at the terminal 10 aa. FIG. 17 illustrates anexample display screen, which may be output by the display 120 of theterminal 10 aa. The sound output 15 b of the terminal 10 aa causes thespeaker 115 to output sounds of users at the respective counterpartterminals 10 ab, 10 ac, 10 ad, and 10 ae, based on the sound datareceived from the respective counterpart terminals 10 ab, 10 ac, 10 ad,and 10 ae. With the images and sounds, the user at the terminal 10 aa isable to see the participants, i.e., the users at the counterpartterminals 10 ab, 10 ac, 10 ad, and 10 ae, and confirm with the otherparticipants whether registration of group information is desirable.

Referring back to FIG. 16, at S51, the operation input 12 of theterminal 10 aa receives a user request (“registration request”) forregistering a group of the participating terminals 10 that are currentlyparticipating in the contents data session “sed”, which may be inputthrough the operation key 108.

At S52, the data transmitter/receiver 11 of the terminal 10 aa transmitsregistration request information (“registration request”), whichrequests for group registration, to the management system 50. Theregistration request includes the terminal ID “01aa” of the requestterminal 10 aa that sends the registration request, and the session ID“se01” of the contents data session “sed” that the request terminal 10aa is currently participating in. The management system 50 receives theregistration request at the data transmitter/receiver 51.

At S53, the extractor 54 of the management system 50 searches thesession management table of FIG. 9 using the session ID “se01” as asearch key to obtain the terminal IDs of the participating terminals 10that are participating in the contents data session “se01”. In thisexample, “01aa” “01 ab” “01 ac” “01ad” and “01ae” are extracted.

At S54, the extractor 54 searches the candidate list management table ofFIG. 8 using the terminal ID “01aa” of the request terminal 10 aa toobtain candidate counterpart terminal IDs “01ab” “01ac” “01db”, etc. ofthe candidate counterpart terminals 10 that can be selected by therequest terminal 10 aa for communication.

The destination determiner 55 determines item to be checked with therequest terminal 10 aa in the process of registering group information,using the terminal ID of the participating terminal 10 and the terminalID of the candidate counterpart terminal 10.

FIG. 18 is a flowchart illustrating operation of determining items to bechecked, performed by the management system 50 at S54, according to anexample embodiment of the present invention.

At S55-1, the destination determiner 55 determines whether all of theparticipating terminals 10 except for the request terminal 10 aa areregistered as the candidate counterpart terminals 10 for the requestterminal 10 aa. More specifically, the destination determiner 55determines whether the terminal IDs of the participating terminals 10except for the request terminal 10 aa, which are obtained at S53, areincluded in the terminal IDs of the candidate counterpart terminals 10for the request terminal 10 aa, which are obtained at S54. When it isdetermined that all participating terminals except for the requestterminal 10 aa are registered as candidate counterpart terminals (“YES”at S55-1), the operation proceeds to S55-2. At S55-2, the destinationdeterminer 55 determines to confirm with the request terminal 10 aawhether to register the participating terminals 10 as group information.

When it is determined that all participating terminals except for therequest terminal 10 aa are not registered as candidate counterpartterminals (“NO” at S55-1), the operation proceeds to S55-3. At S55-3,the destination determiner 55 determines to confirm with the requestterminal 10 aa, for each one of the participating terminals 10 that areregistered as the candidate counterpart terminals 10 and theparticipating terminals 10 that are not registered as the candidatecounterpart terminals 10, whether to register the participating terminal10 as a member of that group of the participating terminals.

Referring back to FIG. 16, at S56, the data transmitter/receiver 51 ofthe management system 50 transmits confirmation information (“inquiry”),which confirms the request terminal 10 aa regarding the items that aredetermined at S55, to the request terminal 10 aa.

When the data transmitter/receiver 11 of the request terminal 10 aareceives the confirmation information, the display control 16 causes thedisplay 120 to display a screen that allows a user to check the items tobe confirmed, and input a confirmation result, for example, asillustrated in FIGS. 19 and 20. FIG. 19 is an example screen thatconfirms the user whether to register the participating terminals as agroup. FIG. 20 is an example screen that confirms the user whether toregister the participating terminals, for each one of the participatingterminal 10 that is registered as the candidate counterpart terminal 10,and the participating terminal 10 that is not registered as thecandidate counterpart terminal 10.

Assuming that the user at the request terminal 10 aa selects one of thekeys from the screen of FIG. 19 or 20, using the operation key 108, atS57, the operation input 12 receives a user input that selects theconfirmation result. At S58, the data transmitter/receiver 11 of therequest terminal 10 aa transmits the confirmation result, such as theselection of the key, to the management system 50.

Based on the confirmation result received from the request terminal 10aa, which is received at the data transmitter/receiver 51 of themanagement system 50, at S59, the group data manager 60 generates groupinformation such as a group member list to register to the group datamanagement DB 5101.

FIG. 21 is a flowchart illustrating operation of registering groupinformation, performed by the group data manager 60 at S59.

At S59-1, the group data manager 60 determines whether the confirmationresult indicates whether to register the participating terminals 10 as agroup of member terminals. When it is determined that the participatingterminals 10 are not to be registered (“NO” at S59-1), the operationends without registering group information. When it is determined thatthe participating terminals 10 are to be registered (“YES” at S59-1),the operation proceeds to S59-2.

At S59-2, the group data manager 60 determines whether the confirmationresult indicates whether the participating terminal 10, which is notregistered as the candidate counterpart terminal 10 for the requestterminal 10 aa, is to be registered.

When it is determined that the confirmation result indicates not toregister the participating terminal 10, which is not registered (“NO” atS59-2), the operation proceeds to S59-7. At S59-7, the group datamanager 60 registers a group member list, which only includes theparticipating terminals 10 that are already registered as the candidatecounterpart terminal for the request terminal 10 aa.

For example, the group data manager 60 generates a group ID “Group 03”that identifies a group to be registered. The group data manager 60stores the registration date/time in the “date/time registration” field,and the terminal ID of the request terminal 10 aa in the “user terminalID” field, in association with the group ID “Group 03” as illustrated inthe group data management table of FIG. 22. The group data manager 60further stores the terminal ID of each one of the participatingterminals 10 that have been registered as the candidate counterpartterminal for the request terminal 10 aa, in the “registered memberterminal ID” field in association with the group ID “Group 03”. Morespecifically, the terminal IDs of the registered, participatingterminals 10 that are participating in the contents data session “sed”,are registered to the group data management table of FIG. 22.

When it is determined that the confirmation result indicates to registerthe participating terminal 10, which is not registered (“YES” at S59-2),the operation proceeds to S59-3. At S59-3, the group data manager 60determines whether approval is obtained from the unregisteredparticipating terminal 10, which approves registration of theunregistered participating terminal 10 as a candidate counterpartterminal for the request terminal 10 aa.

For example, the unregistered participating terminal 10 may ask the userat the unregistered participating terminal 10 whether to approveregistration of the terminal 10 as a candidate counterpart terminal forthe request terminal 10 aa. Based on the user input through theoperation key 108, the operation input 12 may receive a user instructionindicating whether to approve or not approve to register theunregistered participating terminal 10 as a candidate counterpartterminal for the request terminal 10 aa. The data transmitter/receiver11 of the unregistered participating terminal 10 may transmit approvalinformation indicating whether to approve or not approve to register theunregistered participating terminal as a candidate counterpart terminalfor the request terminal 10 aa, to the management system 50.

When it is determined that the approval is obtained from theunregistered participating terminal 10 (“YES” at S59-3), the operationproceeds to S59-4. At S59-4, the candidate list manager 57 stores theterminal ID of the unregistered participating terminal 10, in thecandidate list management table of FIG. 8, as a candidate counterpartterminal ID in association with the request terminal ID “01aa”.

When it is determined that approval is not obtained from theunregistered participating terminal 10 (“NO” at S59-3), the operationproceeds to S59-5. At S59-5, the data transmitter/receiver 51 of themanagement system 50 requests the unregistered participating terminal 10to approve or not approve to add the unregistered participating terminal10 as a candidate counterpart terminal for the request terminal 10 aa.

After completion of S59-4 or S59-5, at S59-6, the group data manager 60registers group information regarding a group of the participatingterminals 10 that are participating in the contents data session “sed”.

For example, the group data manager 60 generates a group ID “Group 03”that identifies the group to be registered. The group data manager 60stores the date/time registered in the “date/time registered” field, andthe terminal ID of the request terminal 10 aa that requests forregistration in the “user terminal ID” field, in association with thegenerated group ID as illustrated in the group data management table ofFIG. 23. The group data manager 60 further stores the terminal ID ofeach one of the registered participating terminals 10 that have beenregistered as the candidate counterpart terminal for the requestterminal 10 aa, in the “registered member terminal ID” field, inassociation with the group ID “Group 03”. The group data manager 60further stores the terminal ID of each one of the unregisteredparticipating terminals 10 that are not registered as the candidatecounterpart terminal for the request terminal 10 aa, in the “tentativelyregistered member terminal ID” field in association with the group ID“Group 03”.

Referring back to FIG. 16, at S60, the data transmitter/receiver 51 ofthe management system 50 may receive approval information indicatingwhether to approve or not approve to register the unregisteredparticipating terminal 10, from the unregistered participating terminal10, in response to the request transmitted at S59-5.

When the approval information indicating to approve registration of theunregistered participating terminal as a candidate counterpart terminalfor the request terminal 10 aa is received, at S61, the candidate listmanager 57 stores the terminal ID of the unregistered participatingterminal 10 in the candidate list management table of FIG. 8, as acandidate counterpart terminal ID in association with the requestterminal ID “01aa” of the request terminal 10 aa.

At S62, the group data manager 60 updates group information in the groupdata management table of FIG. 23. More specifically, the group datamanager 60 refers to the “tentatively registered member terminal ID”field for the group ID “Group 03”, in the group data management table ofFIG. 23, to delete the terminal ID of the participating terminal 10 thatis newly registered at S61. The group data manager 60 further adds theterminal ID of the newly registered participating terminal 10, which isjust deleted, in the “registered member terminal ID” field for the groupID “Group 03”.

When a predetermined time elapses after registration of groupinformation at S59-6 or S59-7, at S63, the group data manager 60 deletesthe remaining terminal IDs stored in the “tentatively registered memberterminal ID” field, for the group that has been registered. For example,when the group data manager 60 determines that a predetermined time(such as three days) elapses after the date/time registered stored inthe group data management table of FIG. 23, the group data manager 60deletes the tentatively registered member terminal ID, which stillremains, from the group data management table of FIG. 23. The group datamanager 60 can then confirm the member terminals belonging to thespecific group.

In the above-described example embodiments, the relay device 30, themanagement system 50, the program providing system 90, and themaintenance system 100 may each be implemented by a single computer.Alternatively, any number of parts, functions, or modules of the relaydevice 30, the management system 50, the program providing system 90,and the maintenance system 100 may be classified into a desired numberof groups to be carried out by a plurality of computers.

For example, the management system 50 may be implemented by a computerfunctioning as a management apparatus, and a computer functioning as aweb application server. In such case, the management apparatus may beprovided with a candidate list management DB 5003. The web applicationserver provides web application services to the terminal 10. Based on arequest received through the web browser, the web application server mayoutput an instruction for updating the candidate list to the managementapparatus. The management apparatus and the web application server maybe located within the same country, or located in different countries.

In case the program providing system 90 is implemented by the singlecomputer, the program to be provided by the program providing system 90may be transmitted, one module by one module, after dividing into aplurality of modules, or may be transmitted at once. In case the programproviding system 90 is implemented as a plurality of computers, eachcomputer may transmit each module that is stored in its memory, afterthe program is divided into a plurality of modules.

In the above-described example embodiments, the terminal ID is used asidentification information that identifies any one of the requestterminal, counterpart terminal, member terminal, owner terminal, anduser terminal. In alternative to or in addition to the terminal ID, useridentification (user ID) that identifies a user who operates theterminal 10 may be used. In such case, a user ID of a user who operatesa specific terminal, such as the request terminal, counterpart terminal,member terminal, owner terminal, or user terminal, may be used.

In the above-described example embodiments, the candidate listmanagement table (FIG. 8) stores the terminal ID for each one of one ormore candidate counterpart terminals that can be selected by the requestterminal 10 to have communication. Alternatively, any other informationthat can identify the candidate counterpart terminal may be stored.Examples of identification information for identifying a candidatecounterpart terminal include, but not limited to, a telephone number ofa candidate counterpart terminal, and an IP address indicating thenetwork location of a candidate counterpart terminal. The group datamanagement table (FIG. 10) may additionally store a telephone number oran IP address, in association with the member terminal ID, ownerterminal ID, and user terminal ID. With the additional information, themanagement system 50 is able to easily contact the terminal.

A recording medium storing any one of the terminal control program,relay control program, and communication management program, or astorage device such as the HDD 204 that stores any one of the terminalcontrol program, relay control program, and communication managementprogram, or the program providing system 90 provided with the HD 204storing any one of the terminal control program, relay control program,and communication management program, may be distributed within thecountry or to another country as a computer program product.

In the above-described example embodiments, the communication system istreated as a videoconference system. Alternatively, the communicationsystem may be implemented as a teleconference system such as the IPteleconference system or the Internet teleconference system, or acomputer system. Alternatively, the communication system may beimplemented as a car navigation system. For example, the requestterminal 10 may be implemented as a car navigation system that isinstalled onto an automobile. The counterpart terminal 10 may beimplemented as a management terminal or server at a management centerthat manages the car navigation system or a car navigation system thatis installed onto another automobile. In another example, thecommunication system may be implemented as a communication system havinga portable phone, smart phone, tablet, game machine, etc. In such case,the terminal 10 may be implemented as the portable phone, smart phone,tablet, game machine, etc.

In the above-described examples, the contents data is assumed to includeimage data and sound data such as voice data. Alternatively, thecontents data may include any other type of data that affects humansenses of sight in alternative to image data, or any other type of datathat affects human senses of hearing in alternative to voice data.Alternatively, the contents data may include any other type of data thataffects human senses of sight, smell, taste, touch, and hearing. In casethe contents data that affects human senses of touch, the terminal 10may convey the contents data that reflects senses of touch that is feltby a user at the terminal 10 to another terminal 10 through thecommunication network 2. In case the contents data that affects humansenses of smell, the terminal 10 may convey the contents data thataffects senses of smell felt by a user at the terminal 10 to anotherterminal 10 through the communication network 2. In case the contentsdata that affects human senses of taste, the terminal 10 may convey thecontents data that affects senses of taste felt by a user at theterminal 10 to another terminal 10 through the communication network 2.

Further, the contents data may only include one type of contents dataselected from sight data such as image data, hearing data such as voicedata, touch data, smell data, and taste data.

Further, in the above-described examples, the communication system isimplemented as a videoconference system for use at offices. Otherexamples of use of the communication system include, but not limited to,meetings, casual conversation among family members or friends, anddistribution of information in one direction.

Numerous additional modifications and variations are possible in lightof the above teachings. It is therefore to be understood that within thescope of the appended claims, the disclosure of the present inventionmay be practiced otherwise than as specifically described herein. Forexample, elements and/or features of different illustrative embodimentsmay be combined with each other and/or substituted for each other withinthe scope of this disclosure and appended claims.

Further, any of the above-described devices or units can be implementedas a hardware apparatus, such as a special-purpose circuit or device, oras a hardware/software combination, such as a processor executing asoftware program.

The present invention can be implemented in any convenient form, forexample using dedicated hardware, or a mixture of dedicated hardware andsoftware. The present invention may be implemented as computer softwareimplemented by one or more networked processing apparatuses. The networkcan comprise any conventional terrestrial or wireless communicationsnetwork, such as the Internet. The processing apparatuses can compromiseany suitably programmed apparatuses such as a general purpose computer,personal digital assistant, mobile telephone (such as a WAP or3G-compliant phone) and so on. Since the present invention can beimplemented as software, each and every aspect of the present inventionthus encompasses computer software implementable on a programmabledevice. The computer software can be provided to the programmable deviceusing any storage medium for storing processor readable code such as afloppy disk, hard disk, CD ROM, magnetic tape device or solid statememory device.

The hardware platform includes any desired kind of hardware resourcesincluding, for example, a central processing unit (CPU), a random accessmemory (RAM), and a hard disk drive (HDD). The CPU may be implemented byany desired kind of any desired number of processor. The RAM may beimplemented by any desired kind of volatile or non-volatile memory. TheHDD may be implemented by any desired kind of non-volatile memorycapable of storing a large amount of data. The hardware resources mayadditionally include an input device, an output device, or a networkdevice, depending on the type of the apparatus. Alternatively, the HDDmay be provided outside of the apparatus as long as the HDD isaccessible. In this example, the CPU, such as a cashe memory of the CPU,and the RAM may function as a physical memory or a primary memory of theapparatus, while the HDD may function as a secondary memory of theapparatus.

What is claimed is:
 1. A communication management system, comprising:circuitry configured to: manage session information regarding a contentsdata session being established to communicate contents data among aplurality of participating communication terminals; and receive arequest for registering a group of the plurality of participatingcommunication terminals that are currently participating in the contentsdata session, from a first participating communication terminal of theplurality of participating communication terminals, during the contentsdata session, wherein, in response to the request for registering, thecircuitry is configured to store first candidate information of thefirst participating communication terminal in a first memory, the firstcandidate information associating the group of the plurality ofparticipating communication terminals with the first participatingcommunication terminal; and a second memory that stores second candidateinformation of the first participating communication terminal, thesecond candidate information associating one or more candidatecounterpart communication terminals, each selectable by the firstparticipating communication terminal to have communication, with thefirst participating communication terminal, wherein, in response to therequest for registering, the circuitry is configured to: determinewhether any one of the plurality of participating communicationterminals is registered as a candidate counterpart terminal for thefirst participating communication terminal in the second memory,identify at least one unregistered participating communication terminalthat is not registered in the second memory, and exclude theunregistered participating communication terminal from the group of theplurality of participating communication terminals to be stored in thefirst memory as the first candidate information.
 2. The communicationmanagement system of claim 1, wherein the circuitry is configured toreceive approval information indicating whether to approve or not toapprove to register the unregistered participating communicationterminal, as the candidate counterpart terminal for the firstparticipating communication terminal, from the unregisteredparticipating communication terminal through a network, and in responseto the approval information, the circuitry is configured to update thefirst candidate information of the first participating communicationterminal based on the approval information.
 3. The communicationmanagement system of claim 2, wherein when the approval informationindicates to approve to register the unregistered participatingcommunication terminal, the circuitry is configured to register theunregistered participating communication terminal as the candidatecounterpart terminal for the first participating communication terminalin the second memory, and update the first candidate information so asto additionally include the participating communication terminal that isnewly registered in the second memory.
 4. The communication managementsystem of claim 2, wherein information regarding the unregisteredparticipating communication terminal is tentatively stored in the firstmemory in association with the first participating communicationterminal.
 5. The communication management system of claim 4, whereinwhen the approval information indicates not to approve registration ofthe unregistered participating communication terminal, the circuitry isconfigured to delete the information regarding the unregisteredparticipating communication terminal from the first memory.
 6. Thecommunication management system of claim 4, wherein when a predeterminedtime elapses after storing the first candidate information including theinformation regarding the unregistered participating communicationterminal, the circuitry is configured to delete the informationregarding the unregistered participating communication terminal from thefirst memory.
 7. The communication management system of claim 1, furthercomprising: a third memory that stores, for each one of the plurality ofparticipating communication terminals, terminal identificationinformation that identifies the participating communication terminal,wherein the circuitry is configured to obtain the first candidateinformation of the first participating communication terminal using theterminal identification information.
 8. A communication system,comprising: the communication management system of claim 1; and thefirst participating communication terminal, comprising: a user interfacethat receives a user input that requests for registering the group ofthe plurality of participating communication terminals; and a networkinterface that sends the request for registering to the communicationmanagement system through a network.
 9. A communication system,comprising: the communication management system of claim 2; and theunregistered participating communication terminal, comprising: a userinterface that receives a user input that indicates whether to approveor not to approve registration of the unregistered participatingcommunication terminal as the candidate counterpart terminal for thefirst participating communication terminal; and a network interface thatsends the approval information based on the user input to thecommunication management system through a network.
 10. A method ofcontrolling candidate information, comprising: managing sessioninformation regarding a contents data session being established tocommunicate contents data among a plurality of participatingcommunication terminals; receiving a request for registering a group ofthe plurality of participating communication terminals that arecurrently participating in the contents data session, from a firstparticipating communication terminal of the plurality of participatingcommunication terminals, during the contents data session; in responseto the request for registering, storing first candidate information ofthe first participating communication terminal in a first memory, thefirst candidate information associating the group of the plurality ofparticipating communication terminals with the first participatingcommunication terminal; storing, in a second memory, second candidateinformation of the first participating communication terminal, thesecond candidate information associating one or more candidatecounterpart communication terminals, each selectable by the firstparticipating communication terminal to have communication, with thefirst participating communication terminal; and in response to therequest for registering, determining whether any one of the plurality ofparticipating communication terminals is registered as a candidatecounterpart terminal for the first participating communication terminalin the second memory, identifying at least one unregisteredparticipating communication terminal that is not registered in thesecond memory, and excluding the unregistered participatingcommunication terminal from the group of the plurality of participatingcommunication terminals to be stored in the first memory as the firstcandidate information.
 11. A non-transitory recording medium storing aplurality of instructions which, when executed by a processor, cause theprocessor to perform a method, comprising: managing session informationregarding a contents data session being established to communicatecontents data among a plurality of participating communicationterminals; receiving a request for registering a group of the pluralityof participating communication terminals that are currentlyparticipating in the contents data session, from a first participatingcommunication terminal of the plurality of participating communicationterminals, during the contents data session; in response to the requestfor registering, storing first candidate information of the firstparticipating communication terminal in a first memory, the firstcandidate information associating the group of the plurality ofparticipating communication terminals with the first participatingcommunication terminal; storing, in a second memory, second candidateinformation of the first participating communication terminal, thesecond candidate information associating one or more candidatecounterpart communication terminals, each selectable by the firstparticipating communication terminal to have communication, with thefirst participating communication terminal; and in response to therequest for registering, determining whether any one of the plurality ofparticipating communication terminals is registered as a candidatecounterpart terminal for the first participating communication terminalin the second memory, identifying at least one unregisteredparticipating communication terminal that is not registered in thesecond memory, and excluding the unregistered participatingcommunication terminal from the group of the plurality of participatingcommunication terminals to be stored in the first memory as the firstcandidate information.